home *** CD-ROM | disk | FTP | other *** search
-
-
-
- AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333)))) AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- AutoSplit - split a package for autoloading
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- perl -e 'use AutoSplit; autosplit_lib_modules(@ARGV)' ...
-
- use AutoSplit; autosplit($file, $dir, $keep, $check, $modtime);
-
- for perl versions 5.002 and later:
-
- perl -MAutoSplit -e 'autosplit($ARGV[0], $ARGV[1], $k, $chk, $modtime)' ...
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- This function will split up your program into files that the AutoLoader
- module can handle. It is used by both the standard perl libraries and by
- the MakeMaker utility, to automatically configure libraries for
- autoloading.
-
- The autosplit interface splits the specified file into a hierarchy rooted
- at the directory $dir. It creates directories as needed to reflect class
- hierarchy, and creates the file _a_u_t_o_s_p_l_i_t._i_x. This file acts as both
- forward declaration of all package routines, and as timestamp for the
- last update of the hierarchy.
-
- The remaining three arguments to autosplit govern other options to the
- autosplitter. If the third argument, $_k_e_e_p, is false, then any pre-
- existing *.al files in the autoload directory are removed if they are no
- longer part of the module (obsoleted functions). The fourth argument,
- $_c_h_e_c_k, instructs autosplit to check the module currently being split to
- ensure that it does include a use specification for the AutoLoader
- module, and skips the module if AutoLoader is not detected. Lastly, the
- $_m_o_d_t_i_m_e argument specifies that autosplit is to check the modification
- time of the module against that of the autosplit.ix file, and only split
- the module if it is newer.
-
- Typical use of AutoSplit in the perl MakeMaker utility is via the
- command-line with:
-
- perl -e 'use AutoSplit; autosplit($ARGV[0], $ARGV[1], 0, 1, 1)'
-
- Defined as a Make macro, it is invoked with file and directory arguments;
- autosplit will split the specified file into the specified directory and
- delete obsolete .al files, after checking first that the module does use
- the AutoLoader, and ensuring that the module is not already currently
- split in its current form (the modtime test).
-
- The autosplit_lib_modules form is used in the building of perl. It takes
- as input a list of files (modules) that are assumed to reside in a
- directory lllliiiibbbb relative to the current directory. Each file is sent to the
- autosplitter one at a time, to be split into the directory lllliiiibbbb////aaaauuuuttttoooo.
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333)))) AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333))))
-
-
-
- In both usages of the autosplitter, only subroutines defined following
- the perl special marker ___E_N_D__ are split out into separate files. Some
- routines may be placed prior to this marker to force their immediate
- loading and parsing.
-
- CCCCAAAAVVVVEEEEAAAATTTTSSSS
- Currently, AutoSplit cannot handle multiple package specifications within
- one file.
-
- DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
- AutoSplit will inform the user if it is necessary to create the top-level
- directory specified in the invocation. It is preferred that the script or
- installation process that invokes AutoSplit have created the full
- directory path ahead of time. This warning may indicate that the module
- is being split into an incorrect path.
-
- AutoSplit will warn the user of all subroutines whose name causes
- potential file naming conflicts on machines with drastically limited (8
- characters or less) file name length. Since the subroutine name is used
- as the file name, these warnings can aid in portability to such systems.
-
- Warnings are issued and the file skipped if AutoSplit cannot locate
- either the ___E_N_D__ marker or a "package Name;"-style specification.
-
- AutoSplit will also emit general diagnostics for inability to create
- directories or files.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-